Bidirectional Typing

نویسندگان

چکیده

Bidirectional typing combines two modes of typing: type checking, which checks that a program satisfies known type, and synthesis, determines from the program. Using checking enables bidirectional to support features for inference is undecidable; using synthesis avoid large annotation burden explicitly typed languages. In addition, improves error locality. We highlight design principles underlie systems, survey development prehistoric period before Pierce Turner's local present day, provide guidance future investigations.

برای دانلود باید عضویت طلایی داشته باشید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Bidirectional Grammar and Bidirectional Optimization

The human language faculty is a bidirectional system, i.e. it can be used by processes of approximately equal computational complexity to understand and to generate utterances of a language. We assume the general framework of optimality theory and treat the language faculty as a constraint-based system where the very same constraints are uses both in comprehension and in generation. In the simp...

متن کامل

Bidirectional Coroutines

The bidirectional coroutine is introduced as a mechanism for overcoming a shortcoming in the method of specification of the transfer of control between coroutines. An analogy is drawn between subroutines and coroutines by observing that coroutines, like subroutines, should not have to know with whom they are interacting. At present, most coroutine implementations require specific mention of the...

متن کامل

Bidirectional Heuristic

The assessment of bidirectional heuristic search has been incorrect since it was rst published more than a quarter of a century ago. For quite a long time, this search strategy did not achieve the expected results, and there was a major misunderstanding about the reasons behind it. Although there is still wide-spread belief that bidirectional heuristic search is a icted by the problem of search...

متن کامل

Typing Coroutines

A coroutine is a programming construct between function and thread. It can be invoked like a function, but before it returns a value (if ever) it may suspend itself arbitrarily often to return intermediate results and then be resumed with new inputs. Unlike with preemptive threading, a coroutine does not run concurrently with the rest of the program, but rather takes control until it voluntaril...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: ACM Computing Surveys

سال: 2021

ISSN: ['0360-0300', '1557-7341']

DOI: https://doi.org/10.1145/3450952